It is known that inertial measurement units (IMU) comprising for example, a gyroscope can accurately measure short-term or relative changes in orientation of a device such as a camera, but suffer from a constant error (bias) that can additionally change over time (drift).
This drift can be determined and compensated for by using other sensors including magnetometers, accelerometers or other fiduciary points, but it may be not feasible or desirable to use or add such functionality and cost to a device. It will also be appreciated that even when available, magnetometers themselves need to be periodically re-calibrated and as such could not necessarily be relied upon all of the time to correct for other sensor drift.
In “Bias Compensation of Gyroscopes in Mobiles with Optical Flow”, AASRI Procedia 9, 2014, pp 152-157, László Kundra and Péter Ekler consider the problem of using gyroscopes where the integration of raw angular rates with non-zero bias leads to a continuous drift of estimated orientation. A sensor fusion algorithm uses optical flow from the camera of the device. An orientation estimator and bias removal method are based on complementary filters, in combination with an adaptive reliability filter for the optical flow features. The feedback of the fused result is combined with the raw gyroscope angular rates to compensate for the bias.
The problem with this approach is that finding a global transformation between frames and converting it into camera orientation change is extremely CPU intensive. Using the motion vectors directly leads to large errors caused by erroneous motion estimates (outliers). Indeed one potential implementation suggests employing the RANSAC algorithm to reject such outliers when determining optical flow, but this would add significant computational overhead, so making the approach unfeasible or unattractive for implementation in portable image acquisition devices such as smartphones.
It is an object of the present invention to provide an improved method for determining IMU sensor bias.